Natural language generation (NLG) is the automatic generation of human-language text (i.e., text in a human language) based on information in non-linguistic form. For example, natural language generation techniques may be used to automatically create a textual description of a day of trading of a particular stock based on data indicating the change in stock price throughout the day, to automatically generate a confirmation e-mail for an online purchase made via the Internet from data describing the purchase, to generate real-time comments about a sporting event using data about the game, or for numerous other applications.
Natural language generation may be performed by using template-based techniques. In NLG systems that employ template-based techniques, a template processor may be programmed to replace placeholders (e.g., tags, special symbols, etc.) in pre-defined templates with language to include in the generated text. The language used to replace the placeholders in the template is identified based on user input, NLG system parameters, and/or in any other suitable manner.